home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
NetNews Offline 1
/
NetNews Offline Volume 1.iso
/
news
/
fido
/
ger
/
amiga
/
444
< prev
next >
Wrap
Internet Message Format
|
1996-03-16
|
2KB
From: Andre_Schenk@p42.f1216.n2471.z2.fido.sub.org (Andre Schenk)
Organization: volle Error-Freiheit durch 4-Fach Quadra-Hyping-Cop
Path: f1216.n2471.z2.fidonet.org!not-for-mail
Newsgroups: fido.ger.amiga
Subject: Re: Umlautkonverter versaut UU-Codes
Message-ID: <82644060@melior.s.bawue.de>
References: <MSGID_2=3A240=2F5802.6_2a336b63@fidonet.org>
Date: Thu, 10 Aug 1995 16:35:00 +0200
Am <08 Aug 95 15:33:53> schrieb Eric Wick:
EW> Alle Umlaute im Text (und im UU) wurden ersetzt durch
EW> "=XX" Hexcodes.
Das nennt sich "Quoted-Printable Content-Transfer-Encoding" und
ist Teil des MIME-Standards. XX ist der hexadezimale ASCII-Code
des ersetzten Zeichens.
Mit Hilfe eines der folgenden Code-Fragmente (Oberon, C) kannst
Du die Zeichen rueckuebersetzen:
PROCEDURE MimeToAscii (VAR str : ARRAY OF CHAR);
VAR
index, value : LONGINT;
valstr : ARRAY 4 OF CHAR;
BEGIN
index := 0;
valstr [2] := "H";
WHILE (index < LEN (str)) & (str [index] # a.nul) DO
CASE str [index] OF
| "_" :
str [index] := a.sp
| "=" :
IF index < s.Length (str) - 2 THEN
valstr [0] := str [index + 1];
valstr [1] := str [index + 2];
IF c.StringToInt (valstr, value) THEN
IF value > 0 THEN
s.Delete (str, index, 2);
str [index] := CHR (value)
END
END
END
ELSE END;
INC (index)
END
END MimeToAscii;
void MimeToAscii (char *str)
{
int index, value;
char valstr [3];
index = 0;
valstr [2] = nul;
while (str [index] != nul)
{
switch (str [index])
{
case '_' :
str [index] = sp;
break;
case '=' :
if (index < strlen (str) - 2)
{
valstr [0] = str [index + 1];
valstr [1] = str [index + 2];
if ((value = strtoul (valstr, NULL, 16)) != 0)
{
Delete (str, index, 2);
str [index] = (char) value;
}
}
break;
}
index++;
}
}
Tschuess AndrΘ